package com.jcj.jcjrpc.demo.api;

import java.util.List;
import java.util.Map;

public interface UserService {
    //1.常规int类型，返回User对象
    User findById(int id);

    //2.测试方法重载，同名方法，参数不同
    User findById(int id, String name);

    //3.测试返回字符串
    String getName();

    //4.测试重载方法返回字符串
    String getName(int id);

    //6.测试long类型
    long getId(long id);

    //7.测试long+float类型
    long getId(float id);

    //8.测试参数是User类型
    long getId(User user);

    //9.测试返回long[]
    long[] getLongIds();

    //10.测试参数和返回值都是long[]
    int[] getIds(int[] ids);

    //11.测试参数和返回值都是List类型
    List<User> getList(List<User> userList);

    //12.测试参数和返回值都是Map类型
    Map<String, User> getMap(Map<String, User> userMap);

    //13.测试参数和返回值都是Boolean/boolean类型
    Boolean getFlag(boolean flag);

    //14.测试参数和返回值都是User[]类型
    User[] findUsers(User[] users);

    //15.测试参数为long，返回值是User类型
    User findById(long id);

    //16.测试参数为boolean，返回值都是User类型
    //17.测试服务端抛出一个RuntimeException异常
    User ex(boolean flag);

    //18.测试服务端抛出一个超时重试后成功的场景
    User find(int timeout);

    //19.测试通过Context跨消费者和提供者进行传参
    String echoParameter(String key);


    void setTimeoutPorts(String timeoutPorts);
}

